<?php

/**
 * Flea.Websetup 是基于FleaPHP的应用
 * 目标是帮助用户可视化地快速创建一个FleaPHP应用
 * 进一步简化应用程序的创建过程，目的是把更多精力放在应用程序的设计上
 * 
 * @author dos2000
 * @copyright 本程序以FleaPHP为框架二次开发，相关许可请参照FleaPHP许可协议
 * @version 请通过svn获取最新版本
 */

/**
 * 尝试载入数据库配置文件，如果失败则转到安装页面
 * Flea.Websetup 自带用户及权限基本数据库，如果没有安装则需要安装才能运行
 */
$configFilename = '../Config/config.php';



/**
 * 这里定义基础目录位置
 * $basedir 描述了当前入口程序在服务器上的绝对位置
 */
$basedir = dirname(__FILE__);
define('APPDIR',$basedir.'/../APP');
define('TPLDIR',$basedir.'/../templates');

/**
 * 载入 FleaPHP，并作初始化
 * 请根据实际情况修改FLEA.php的实际位置
 */
define('NO_LEGACY_FLEAPHP', true);	//这里设置与旧版本的FleaPHP不兼容，可以节约资源
require (APPDIR.'/FLEA/FLEA.php');


/**
 * 指定实际代码的路径，FleaPHP 之所以能自动找到 Controller 目录和 Model 目录下的类，
 * 全靠这里指定路径。
 */
FLEA::import(APPDIR);

/**
 * 指定数据库连接设置，TableDataGateway 会自动取出 dbDSN 设置来连接数据库。
 * FLEA::loadAppInf() 会用开发者指定的应用程序设置覆盖 FleaPHP 提供的默认设置。
 * 开发者可以使用 FLEA::getAppInf() 取出任意应用程序设置。
 */
FLEA::loadAppInf($configFilename);

/**
 * 指定更多的应用程序选项
 */
$appInf = array(
	// 默认 ACT 文件
	'defaultControllerACTFile' => APPDIR.'/Config/ACT.sys.php',

	// 设置 webControls 扩展自定义目录
	'webControlsExtendsDir' => APPDIR.'/UI',
    
    // 指定使用 Smarty 模板引擎
    'view' => 'FLEA_View_Smarty',
    'viewConfig' => array(
        'smartyDir'         => APPDIR . '/Smarty',
        'template_dir'      => $basedir . '/../templates',
        'compile_dir'       => $basedir . '/../templates_c',
        'left_delimiter'    => '{{',
        'right_delimiter'   => '}}',
    ),
);
FLEA::loadAppInf($appInf);
FLEA::loadHelper('Array');
FLEA::loadHelper('my');

/**
 * FLEA::runMVC() 根据 URL 地址实例化指定的 Controller 类，
 * 调用指定的 Action 方法
 */
FLEA::runMVC();


/**
 * 用一个回调函数处理无权访问控制器的错误
 */
function onDispatcherFailedCallback($controllerName, $actionName)
{
    redirect(url('admin_login','index',array('error'=>'您无权使用此功能，请使用其他有权帐号登录！')));
}

?>